home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / include / linux / genetlink.h < prev    next >
C/C++ Source or Header  |  2008-10-24  |  2KB  |  83 lines

  1. #ifndef __LINUX_GENERIC_NETLINK_H
  2. #define __LINUX_GENERIC_NETLINK_H
  3.  
  4. #include <linux/netlink.h>
  5.  
  6. #define GENL_NAMSIZ    16    /* length of family name */
  7.  
  8. #define GENL_MIN_ID    NLMSG_MIN_TYPE
  9. #define GENL_MAX_ID    1023
  10.  
  11. struct genlmsghdr {
  12.     __u8    cmd;
  13.     __u8    version;
  14.     __u16    reserved;
  15. };
  16.  
  17. #define GENL_HDRLEN    NLMSG_ALIGN(sizeof(struct genlmsghdr))
  18.  
  19. #define GENL_ADMIN_PERM        0x01
  20. #define GENL_CMD_CAP_DO        0x02
  21. #define GENL_CMD_CAP_DUMP    0x04
  22. #define GENL_CMD_CAP_HASPOL    0x08
  23.  
  24. /*
  25.  * List of reserved static generic netlink identifiers:
  26.  */
  27. #define GENL_ID_GENERATE    0
  28. #define GENL_ID_CTRL        NLMSG_MIN_TYPE
  29.  
  30. /**************************************************************************
  31.  * Controller
  32.  **************************************************************************/
  33.  
  34. enum {
  35.     CTRL_CMD_UNSPEC,
  36.     CTRL_CMD_NEWFAMILY,
  37.     CTRL_CMD_DELFAMILY,
  38.     CTRL_CMD_GETFAMILY,
  39.     CTRL_CMD_NEWOPS,
  40.     CTRL_CMD_DELOPS,
  41.     CTRL_CMD_GETOPS,
  42.     CTRL_CMD_NEWMCAST_GRP,
  43.     CTRL_CMD_DELMCAST_GRP,
  44.     CTRL_CMD_GETMCAST_GRP, /* unused */
  45.     __CTRL_CMD_MAX,
  46. };
  47.  
  48. #define CTRL_CMD_MAX (__CTRL_CMD_MAX - 1)
  49.  
  50. enum {
  51.     CTRL_ATTR_UNSPEC,
  52.     CTRL_ATTR_FAMILY_ID,
  53.     CTRL_ATTR_FAMILY_NAME,
  54.     CTRL_ATTR_VERSION,
  55.     CTRL_ATTR_HDRSIZE,
  56.     CTRL_ATTR_MAXATTR,
  57.     CTRL_ATTR_OPS,
  58.     CTRL_ATTR_MCAST_GROUPS,
  59.     __CTRL_ATTR_MAX,
  60. };
  61.  
  62. #define CTRL_ATTR_MAX (__CTRL_ATTR_MAX - 1)
  63.  
  64. enum {
  65.     CTRL_ATTR_OP_UNSPEC,
  66.     CTRL_ATTR_OP_ID,
  67.     CTRL_ATTR_OP_FLAGS,
  68.     __CTRL_ATTR_OP_MAX,
  69. };
  70.  
  71. #define CTRL_ATTR_OP_MAX (__CTRL_ATTR_OP_MAX - 1)
  72.  
  73. enum {
  74.     CTRL_ATTR_MCAST_GRP_UNSPEC,
  75.     CTRL_ATTR_MCAST_GRP_NAME,
  76.     CTRL_ATTR_MCAST_GRP_ID,
  77.     __CTRL_ATTR_MCAST_GRP_MAX,
  78. };
  79.  
  80. #define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1)
  81.  
  82. #endif    /* __LINUX_GENERIC_NETLINK_H */
  83.